<script setup>
// 引入复用组件
import HomePanel from './HomePanel.vue'
import {onMounted, ref} from 'vue'
import { getHotAPI } from '@/apis/home'

// 去封装接口 并在这里引用接口
const hotList =ref([])
const getHot = async () => {
  const res =  await getHotAPI()
  // console.log(res);
  hotList.value = res.result
}
onMounted(() => {
  getHot()
})
</script>

<template>
  <!-- 复用组件内容 -->
  <HomePanel title="人气推荐" subtitle="人气爆款 不容错过">
    <!-- 这是插件的插槽内容 -->
      <ul class="goods-list">
        <li v-for="item in hotList" :key="item.id">
          <RouterLink to="/">
            <!-- 我们在人气推荐图片 没出现在视图的时候 图片实行懒加载处理  当图片进入视口时发送资源请求-->
            <!-- 1.熟悉指令语法 需要设一个全局指令 去main.js -->
            <!-- 2.在main.js 全局指令写完后 这里引用 v-img-lazy -->
            <!-- 3.我们要判断图片是否出现在视图区域  可以使用vueuse插件里面的 -->
            <img v-img-lazy="item.picture" alt="">
            <p class="name">{{ item.title }}</p>
            <p class="desc">{{ item.alt }}</p>
          </RouterLink>
        </li>
      </ul>
  </HomePanel>
</template>

<style scoped lang='scss'>
.goods-list {
  display: flex;
  justify-content: space-between;
  height: 426px;

  li {
    width: 306px;
    height: 406px;
    transition: all .5s;

    &:hover {
      transform: translate3d(0, -3px, 0);
      box-shadow: 0 3px 8px rgb(0 0 0 / 20%);
    }

    img {
      width: 306px;
      height: 306px;
    }

    p {
      font-size: 22px;
      padding-top: 12px;
      text-align: center;
    }

    .desc {
      color: #999;
      font-size: 18px;
    }
  }
}
</style>